package com.micro.shop.model;

import java.io.Serializable;
import java.math.BigDecimal;

public class ProductSku implements Serializable {
    /**
     * 库存id
     * 表 : bestfenxiao_product_sku
     * 对应字段 : sku_id
     */
    private Integer skuId;

    /**
     * 
     * 表 : bestfenxiao_product_sku
     * 对应字段 : product_id
     */
    private Integer productId;

    /**
     * 商品属性组合 pid1:vid1;pid2:vid2;pid3:vid3
     * 表 : bestfenxiao_product_sku
     * 对应字段 : properties
     */
    private String properties;

    /**
     * 库存
     * 表 : bestfenxiao_product_sku
     * 对应字段 : quantity
     */
    private Integer quantity;

    /**
     * 价格
     * 表 : bestfenxiao_product_sku
     * 对应字段 : price
     */
    private BigDecimal price;

    /**
     * 相应规格的重量
     * 表 : bestfenxiao_product_sku
     * 对应字段 : weight
     */
    private Integer weight;

    /**
     * 库存编码
     * 表 : bestfenxiao_product_sku
     * 对应字段 : code
     */
    private String code;

    /**
     * 销量
     * 表 : bestfenxiao_product_sku
     * 对应字段 : sales
     */
    private Integer sales;

    /**
     * 成本价格
     * 表 : bestfenxiao_product_sku
     * 对应字段 : cost_price
     */
    private BigDecimal costPrice;

    /**
     * 分销最低价格
     * 表 : bestfenxiao_product_sku
     * 对应字段 : min_fx_price
     */
    private BigDecimal minFxPrice;

    /**
     * 分销最高价格
     * 表 : bestfenxiao_product_sku
     * 对应字段 : max_fx_price
     */
    private BigDecimal maxFxPrice;

    /**
     * 一级分销商商品价格
     * 表 : bestfenxiao_product_sku
     * 对应字段 : drp_level_1_price
     */
    private BigDecimal drpLevel1Price;

    /**
     * 二级分销商商品价格
     * 表 : bestfenxiao_product_sku
     * 对应字段 : drp_level_2_price
     */
    private BigDecimal drpLevel2Price;

    /**
     * 三级分销商商品价格
     * 表 : bestfenxiao_product_sku
     * 对应字段 : drp_level_3_price
     */
    private BigDecimal drpLevel3Price;

    /**
     *  一级分销商商品成本价格
     * 表 : bestfenxiao_product_sku
     * 对应字段 : drp_level_1_cost_price
     */
    private BigDecimal drpLevel1CostPrice;

    /**
     * 二级分销商商品成本价格
     * 表 : bestfenxiao_product_sku
     * 对应字段 : drp_level_2_cost_price
     */
    private BigDecimal drpLevel2CostPrice;

    /**
     * 三级分销商商品成本价格
     * 表 : bestfenxiao_product_sku
     * 对应字段 : drp_level_3_cost_price
     */
    private BigDecimal drpLevel3CostPrice;

    /**
     * 批发价格
     * 表 : bestfenxiao_product_sku
     * 对应字段 : wholesale_price
     */
    private BigDecimal wholesalePrice;

    /**
     * 
     * 表 : bestfenxiao_product_sku
     * 对应字段 : sale_min_price
     */
    private BigDecimal saleMinPrice;

    /**
     * 建议最高售价
     * 表 : bestfenxiao_product_sku
     * 对应字段 : sale_max_price
     */
    private BigDecimal saleMaxPrice;

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database table bestfenxiao_product_sku
     *
     * @mbggenerated Fri Apr 20 02:14:07 CST 2018
     */
    private static final long serialVersionUID = 1L;

    /**
     * get method 
     *
     * @return bestfenxiao_product_sku.sku_id：库存id
     */
    public Integer getSkuId() {
        return skuId;
    }

    /**
     * set method 
     *
     * @param skuId  库存id
     */
    public void setSkuId(Integer skuId) {
        this.skuId = skuId;
    }

    /**
     * get method 
     *
     * @return bestfenxiao_product_sku.product_id：
     */
    public Integer getProductId() {
        return productId;
    }

    /**
     * set method 
     *
     * @param productId  
     */
    public void setProductId(Integer productId) {
        this.productId = productId;
    }

    /**
     * get method 
     *
     * @return bestfenxiao_product_sku.properties：商品属性组合 pid1:vid1;pid2:vid2;pid3:vid3
     */
    public String getProperties() {
        return properties;
    }

    /**
     * set method 
     *
     * @param properties  商品属性组合 pid1:vid1;pid2:vid2;pid3:vid3
     */
    public void setProperties(String properties) {
        this.properties = properties == null ? null : properties.trim();
    }

    /**
     * get method 
     *
     * @return bestfenxiao_product_sku.quantity：库存
     */
    public Integer getQuantity() {
        return quantity;
    }

    /**
     * set method 
     *
     * @param quantity  库存
     */
    public void setQuantity(Integer quantity) {
        this.quantity = quantity;
    }

    /**
     * get method 
     *
     * @return bestfenxiao_product_sku.price：价格
     */
    public BigDecimal getPrice() {
        return price;
    }

    /**
     * set method 
     *
     * @param price  价格
     */
    public void setPrice(BigDecimal price) {
        this.price = price;
    }

    /**
     * get method 
     *
     * @return bestfenxiao_product_sku.weight：相应规格的重量
     */
    public Integer getWeight() {
        return weight;
    }

    /**
     * set method 
     *
     * @param weight  相应规格的重量
     */
    public void setWeight(Integer weight) {
        this.weight = weight;
    }

    /**
     * get method 
     *
     * @return bestfenxiao_product_sku.code：库存编码
     */
    public String getCode() {
        return code;
    }

    /**
     * set method 
     *
     * @param code  库存编码
     */
    public void setCode(String code) {
        this.code = code == null ? null : code.trim();
    }

    /**
     * get method 
     *
     * @return bestfenxiao_product_sku.sales：销量
     */
    public Integer getSales() {
        return sales;
    }

    /**
     * set method 
     *
     * @param sales  销量
     */
    public void setSales(Integer sales) {
        this.sales = sales;
    }

    /**
     * get method 
     *
     * @return bestfenxiao_product_sku.cost_price：成本价格
     */
    public BigDecimal getCostPrice() {
        return costPrice;
    }

    /**
     * set method 
     *
     * @param costPrice  成本价格
     */
    public void setCostPrice(BigDecimal costPrice) {
        this.costPrice = costPrice;
    }

    /**
     * get method 
     *
     * @return bestfenxiao_product_sku.min_fx_price：分销最低价格
     */
    public BigDecimal getMinFxPrice() {
        return minFxPrice;
    }

    /**
     * set method 
     *
     * @param minFxPrice  分销最低价格
     */
    public void setMinFxPrice(BigDecimal minFxPrice) {
        this.minFxPrice = minFxPrice;
    }

    /**
     * get method 
     *
     * @return bestfenxiao_product_sku.max_fx_price：分销最高价格
     */
    public BigDecimal getMaxFxPrice() {
        return maxFxPrice;
    }

    /**
     * set method 
     *
     * @param maxFxPrice  分销最高价格
     */
    public void setMaxFxPrice(BigDecimal maxFxPrice) {
        this.maxFxPrice = maxFxPrice;
    }

    /**
     * get method 
     *
     * @return bestfenxiao_product_sku.drp_level_1_price：一级分销商商品价格
     */
    public BigDecimal getDrpLevel1Price() {
        return drpLevel1Price;
    }

    /**
     * set method 
     *
     * @param drpLevel1Price  一级分销商商品价格
     */
    public void setDrpLevel1Price(BigDecimal drpLevel1Price) {
        this.drpLevel1Price = drpLevel1Price;
    }

    /**
     * get method 
     *
     * @return bestfenxiao_product_sku.drp_level_2_price：二级分销商商品价格
     */
    public BigDecimal getDrpLevel2Price() {
        return drpLevel2Price;
    }

    /**
     * set method 
     *
     * @param drpLevel2Price  二级分销商商品价格
     */
    public void setDrpLevel2Price(BigDecimal drpLevel2Price) {
        this.drpLevel2Price = drpLevel2Price;
    }

    /**
     * get method 
     *
     * @return bestfenxiao_product_sku.drp_level_3_price：三级分销商商品价格
     */
    public BigDecimal getDrpLevel3Price() {
        return drpLevel3Price;
    }

    /**
     * set method 
     *
     * @param drpLevel3Price  三级分销商商品价格
     */
    public void setDrpLevel3Price(BigDecimal drpLevel3Price) {
        this.drpLevel3Price = drpLevel3Price;
    }

    /**
     * get method 
     *
     * @return bestfenxiao_product_sku.drp_level_1_cost_price： 一级分销商商品成本价格
     */
    public BigDecimal getDrpLevel1CostPrice() {
        return drpLevel1CostPrice;
    }

    /**
     * set method 
     *
     * @param drpLevel1CostPrice   一级分销商商品成本价格
     */
    public void setDrpLevel1CostPrice(BigDecimal drpLevel1CostPrice) {
        this.drpLevel1CostPrice = drpLevel1CostPrice;
    }

    /**
     * get method 
     *
     * @return bestfenxiao_product_sku.drp_level_2_cost_price：二级分销商商品成本价格
     */
    public BigDecimal getDrpLevel2CostPrice() {
        return drpLevel2CostPrice;
    }

    /**
     * set method 
     *
     * @param drpLevel2CostPrice  二级分销商商品成本价格
     */
    public void setDrpLevel2CostPrice(BigDecimal drpLevel2CostPrice) {
        this.drpLevel2CostPrice = drpLevel2CostPrice;
    }

    /**
     * get method 
     *
     * @return bestfenxiao_product_sku.drp_level_3_cost_price：三级分销商商品成本价格
     */
    public BigDecimal getDrpLevel3CostPrice() {
        return drpLevel3CostPrice;
    }

    /**
     * set method 
     *
     * @param drpLevel3CostPrice  三级分销商商品成本价格
     */
    public void setDrpLevel3CostPrice(BigDecimal drpLevel3CostPrice) {
        this.drpLevel3CostPrice = drpLevel3CostPrice;
    }

    /**
     * get method 
     *
     * @return bestfenxiao_product_sku.wholesale_price：批发价格
     */
    public BigDecimal getWholesalePrice() {
        return wholesalePrice;
    }

    /**
     * set method 
     *
     * @param wholesalePrice  批发价格
     */
    public void setWholesalePrice(BigDecimal wholesalePrice) {
        this.wholesalePrice = wholesalePrice;
    }

    /**
     * get method 
     *
     * @return bestfenxiao_product_sku.sale_min_price：
     */
    public BigDecimal getSaleMinPrice() {
        return saleMinPrice;
    }

    /**
     * set method 
     *
     * @param saleMinPrice  
     */
    public void setSaleMinPrice(BigDecimal saleMinPrice) {
        this.saleMinPrice = saleMinPrice;
    }

    /**
     * get method 
     *
     * @return bestfenxiao_product_sku.sale_max_price：建议最高售价
     */
    public BigDecimal getSaleMaxPrice() {
        return saleMaxPrice;
    }

    /**
     * set method 
     *
     * @param saleMaxPrice  建议最高售价
     */
    public void setSaleMaxPrice(BigDecimal saleMaxPrice) {
        this.saleMaxPrice = saleMaxPrice;
    }

    /**
     *
     * @param that
     */
    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        ProductSku other = (ProductSku) that;
        return (this.getSkuId() == null ? other.getSkuId() == null : this.getSkuId().equals(other.getSkuId()))
            && (this.getProductId() == null ? other.getProductId() == null : this.getProductId().equals(other.getProductId()))
            && (this.getProperties() == null ? other.getProperties() == null : this.getProperties().equals(other.getProperties()))
            && (this.getQuantity() == null ? other.getQuantity() == null : this.getQuantity().equals(other.getQuantity()))
            && (this.getPrice() == null ? other.getPrice() == null : this.getPrice().equals(other.getPrice()))
            && (this.getWeight() == null ? other.getWeight() == null : this.getWeight().equals(other.getWeight()))
            && (this.getCode() == null ? other.getCode() == null : this.getCode().equals(other.getCode()))
            && (this.getSales() == null ? other.getSales() == null : this.getSales().equals(other.getSales()))
            && (this.getCostPrice() == null ? other.getCostPrice() == null : this.getCostPrice().equals(other.getCostPrice()))
            && (this.getMinFxPrice() == null ? other.getMinFxPrice() == null : this.getMinFxPrice().equals(other.getMinFxPrice()))
            && (this.getMaxFxPrice() == null ? other.getMaxFxPrice() == null : this.getMaxFxPrice().equals(other.getMaxFxPrice()))
            && (this.getDrpLevel1Price() == null ? other.getDrpLevel1Price() == null : this.getDrpLevel1Price().equals(other.getDrpLevel1Price()))
            && (this.getDrpLevel2Price() == null ? other.getDrpLevel2Price() == null : this.getDrpLevel2Price().equals(other.getDrpLevel2Price()))
            && (this.getDrpLevel3Price() == null ? other.getDrpLevel3Price() == null : this.getDrpLevel3Price().equals(other.getDrpLevel3Price()))
            && (this.getDrpLevel1CostPrice() == null ? other.getDrpLevel1CostPrice() == null : this.getDrpLevel1CostPrice().equals(other.getDrpLevel1CostPrice()))
            && (this.getDrpLevel2CostPrice() == null ? other.getDrpLevel2CostPrice() == null : this.getDrpLevel2CostPrice().equals(other.getDrpLevel2CostPrice()))
            && (this.getDrpLevel3CostPrice() == null ? other.getDrpLevel3CostPrice() == null : this.getDrpLevel3CostPrice().equals(other.getDrpLevel3CostPrice()))
            && (this.getWholesalePrice() == null ? other.getWholesalePrice() == null : this.getWholesalePrice().equals(other.getWholesalePrice()))
            && (this.getSaleMinPrice() == null ? other.getSaleMinPrice() == null : this.getSaleMinPrice().equals(other.getSaleMinPrice()))
            && (this.getSaleMaxPrice() == null ? other.getSaleMaxPrice() == null : this.getSaleMaxPrice().equals(other.getSaleMaxPrice()));
    }

    /**
     *
     */
    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getSkuId() == null) ? 0 : getSkuId().hashCode());
        result = prime * result + ((getProductId() == null) ? 0 : getProductId().hashCode());
        result = prime * result + ((getProperties() == null) ? 0 : getProperties().hashCode());
        result = prime * result + ((getQuantity() == null) ? 0 : getQuantity().hashCode());
        result = prime * result + ((getPrice() == null) ? 0 : getPrice().hashCode());
        result = prime * result + ((getWeight() == null) ? 0 : getWeight().hashCode());
        result = prime * result + ((getCode() == null) ? 0 : getCode().hashCode());
        result = prime * result + ((getSales() == null) ? 0 : getSales().hashCode());
        result = prime * result + ((getCostPrice() == null) ? 0 : getCostPrice().hashCode());
        result = prime * result + ((getMinFxPrice() == null) ? 0 : getMinFxPrice().hashCode());
        result = prime * result + ((getMaxFxPrice() == null) ? 0 : getMaxFxPrice().hashCode());
        result = prime * result + ((getDrpLevel1Price() == null) ? 0 : getDrpLevel1Price().hashCode());
        result = prime * result + ((getDrpLevel2Price() == null) ? 0 : getDrpLevel2Price().hashCode());
        result = prime * result + ((getDrpLevel3Price() == null) ? 0 : getDrpLevel3Price().hashCode());
        result = prime * result + ((getDrpLevel1CostPrice() == null) ? 0 : getDrpLevel1CostPrice().hashCode());
        result = prime * result + ((getDrpLevel2CostPrice() == null) ? 0 : getDrpLevel2CostPrice().hashCode());
        result = prime * result + ((getDrpLevel3CostPrice() == null) ? 0 : getDrpLevel3CostPrice().hashCode());
        result = prime * result + ((getWholesalePrice() == null) ? 0 : getWholesalePrice().hashCode());
        result = prime * result + ((getSaleMinPrice() == null) ? 0 : getSaleMinPrice().hashCode());
        result = prime * result + ((getSaleMaxPrice() == null) ? 0 : getSaleMaxPrice().hashCode());
        return result;
    }
}